@echo off
echo ========================================
echo 拒绝生成下一步任务问题调试
echo ========================================
echo.

echo 问题现象：
echo 在第二步点击拒绝后，仍然生成了第三步的待办任务
echo.

echo 可能的原因分析：
echo 1. 工作流引擎自动推进
echo    - Activiti工作流引擎可能在任务完成后自动推进到下一步
echo    - 即使我们设置了拒绝状态，工作流可能仍在继续
echo.

echo 2. 数据库事务问题
echo    - 拒绝处理和任务创建可能在不同的事务中
echo    - 事务回滚或提交顺序问题
echo.

echo 3. 缓存问题
echo    - 前端或后端缓存导致显示不一致
echo    - 数据库更新延迟
echo.

echo 4. 其他代码路径
echo    - 可能有其他地方的代码仍在创建待办任务
echo    - 定时任务或异步处理
echo.

echo 调试步骤：
echo 1. 检查后端日志
echo    - 查看是否有"拒绝处理完成，不生成下一步待办任务"日志
echo    - 查看是否有其他创建待办任务的日志
echo.

echo 2. 检查数据库
echo    - 查看pending_tasks表中是否有第三步任务
echo    - 查看accraditation_record表中是否有拒绝记录
echo.

echo 3. 检查工作流状态
echo    - 查看Activiti相关表的状态
echo    - 确认工作流是否真的结束了
echo.

echo 4. 检查前端传递的参数
echo    - 确认auditStatus是否正确传递为2（拒绝）
echo    - 确认所有必要参数都正确传递
echo.

echo 临时解决方案：
echo 如果问题持续存在，可以考虑以下方案：
echo 1. 在拒绝后立即删除可能生成的下一步任务
echo 2. 使用工作流变量来控制流程走向
echo 3. 修改工作流定义，添加拒绝分支
echo.

echo 验证SQL：
echo -- 检查待办任务
echo SELECT id, bussniess_id, step_no, is_handle, status, create_time 
echo FROM pending_tasks 
echo WHERE bussniess_id = 业务ID 
echo ORDER BY step_no;
echo.

echo -- 检查审批记录
echo SELECT id, bussniess_id, step_no, audit_status, opinion, create_time 
echo FROM accraditation_record 
echo WHERE bussniess_id = 业务ID 
echo ORDER BY step_no;
echo.

echo 建议的修复方案：
echo 1. 在拒绝处理中添加工作流变量
echo 2. 使用工作流网关来控制流程走向
echo 3. 在拒绝后立即清理可能生成的任务
echo.

pause
